<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <title>Document</title>
    </head>
    <body>
        <script>
            /*
            思路：先把所有的5块收起来，然后先找10块，获取10块。最后找零20，
            找零20中，如果有10块，先用10块，最后用五块。注意，他们是排队买，所以必须按序。
            如果不排队买，就自己排序

            */
            var lemonadeChange = function (bills) {
                let five = 0
                let ten = 0
                for (let i = 0; i < bills.length; i++) {
                    switch (bills[i]) {
                        case 5:
                            five++
                            break
                        case 10:
                            if (five > 0) {
                                ten++
                                five--
                                break
                            } else {
                                return false
                            }
                        case 20:
                            if (ten > 0 && five > 0) {
                                ten--
                                five--
                                break
                            } else if (five >= 3) {
                                five -= 3
                            } else {
                                return false
                            }
                            break
                    }
                }
                return true
            }
        </script>
    </body>
</html>
